package com.quanyan.platform.model.resp;

import com.quanyan.platform.thrift.gathering.ActivityItem;
import org.apache.commons.lang3.StringUtils;

import java.io.Serializable;
import java.util.List;

/**
 * Created by slong.guo on 2017/3/3.
 */
public class GatherActivityItem implements Serializable {
    private static final long serialVersionUID = 7778616575061957308L;

    private String activityName;
    private int activityID;
    private List<String> tags;

    private String stadiumName;
    private Long activityTime;
    private Long curTime;
    private int pricePerCapita;
    private double longitude;
    private double latitude;
    private int distance;
    private String caption;

    private List<Integer> activityWeekDays;

    public GatherActivityItem() {
    }

    public GatherActivityItem(ActivityItem activityItem) {
        this.activityName = activityItem.getActivityName();
        this.activityID = activityItem.getActivityID();
        this.tags = activityItem.getTags();
        this.stadiumName = activityItem.getStadiumName();
        if (StringUtils.isEmpty(this.stadiumName)) {
            this.stadiumName = activityItem.getAddress();
        }
        this.activityTime = (long) activityItem.getActivityTime() * 1000;
        this.curTime = System.currentTimeMillis();
        this.pricePerCapita = activityItem.getPricePerCapita();
        this.longitude = activityItem.getLongitude();
        this.latitude = activityItem.getLatitude();
        this.caption = activityItem.getCaption();
        this.distance = activityItem.getDistance();
    }

    public GatherActivityItem(String activityName,
                              int activityID,
                              List<String> tags,
                              String stadiumName,
                              long activityTime,
                              int pricePerCapita,
                              double longitude,
                              double latitude,
                              int distance,
                              String caption) {
        this.activityName = activityName;
        this.activityID = activityID;
        this.tags = tags;
        this.stadiumName = stadiumName;
        this.activityTime = activityTime;
        this.curTime = System.currentTimeMillis();
        this.pricePerCapita = pricePerCapita;
        this.longitude = longitude;
        this.latitude = latitude;
        this.distance = distance;
        this.caption = caption;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public int getActivityID() {
        return activityID;
    }

    public void setActivityID(int activityID) {
        this.activityID = activityID;
    }

    public List<String> getTags() {
        return tags;
    }

    public void setTags(List<String> tags) {
        this.tags = tags;
    }

    public String getStadiumName() {
        return stadiumName;
    }

    public void setStadiumName(String stadiumName) {
        this.stadiumName = stadiumName;
    }

    public Long getActivityTime() {
        return activityTime;
    }

    public void setActivityTime(Long activityTime) {
        this.activityTime = activityTime;
    }

    public Long getCurTime() {
        return curTime;
    }

    public void setCurTime(Long curTime) {
        this.curTime = curTime;
    }

    public int getPricePerCapita() {
        return pricePerCapita;
    }

    public void setPricePerCapita(int pricePerCapita) {
        this.pricePerCapita = pricePerCapita;
    }

    public double getLongitude() {
        return longitude;
    }

    public void setLongitude(double longitude) {
        this.longitude = longitude;
    }

    public double getLatitude() {
        return latitude;
    }

    public void setLatitude(double latitude) {
        this.latitude = latitude;
    }

    public int getDistance() {
        return distance;
    }

    public void setDistance(int distance) {
        this.distance = distance;
    }

    public String getCaption() {
        return caption;
    }

    public void setCaption(String caption) {
        this.caption = caption;
    }

    public List<Integer> getActivityWeekDays() {
        return activityWeekDays;
    }

    public void setActivityWeekDays(List<Integer> activityWeekDays) {
        this.activityWeekDays = activityWeekDays;
    }
}
